package com.wbt.bambootown.api;

import com.wbt.bambootown.FrameApp;
import com.wbt.bambootown.cons.Cons;
import com.wbt.bambootown.entity.CameraPic;
import com.wbt.bambootown.entity.ControlDevices;
import com.wbt.bambootown.entity.ControlLog;
import com.wbt.bambootown.entity.DetailData;
import com.wbt.bambootown.entity.DevicesData;
import com.wbt.bambootown.entity.Facility;
import com.wbt.bambootown.entity.CameraDevices;
import com.wbt.bambootown.entity.Farms;
import com.wbt.bambootown.entity.response.BaseResponse;
import com.wbt.bambootown.entity.response.LoginResponse;
import com.wbt.bambootown.utils.SPUtils;

import java.util.List;

import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.Url;
import rx.Observable;

public interface ApiService {

    //获取站点
    @GET("/api/AppData/GetFarms")
    Observable<BaseResponse<List<Farms>>> getFarms(@Query("id") String id);

    //获取站点区域
    @GET("/api/AppData/GetFacilities")
    Observable<BaseResponse<List<Facility>>> getFacilities(@Query("id")  int id);

    //获取站点区域摄像头设备
    @GET("/api/AppData/GetCameraDevices")
    Observable<BaseResponse<List<CameraDevices>>> getCameraDevices(@Query("id") int id);

    //获取图库
    @GET("/api/AppData/GetCameraPic2")
    Observable<BaseResponse<List<CameraPic>>> getCameraPic(
            @Query("id") int id ,
            @Query("beginTime") String beginTime ,
            @Query("endTime") String endTime ,
            @Query("pageIndex") int pageIndex,
            @Query("pageSize") int count);

    //获取各种气体数据
    @GET("/api/AppData/GetCollectDevices")
    Observable<BaseResponse<List<DevicesData>>> getCollectDevices(@Query("id") int id);

    //获取某种气体时间段内数据
    @GET("/api/AppData/GetHistoryData")
    Observable<BaseResponse<List<DetailData>>> getHistoryData(@Query("id") int id , @Query("beginTime") String beginTime , @Query("endTime") String endTime);

    //获取控制设备
    @GET("/api/AppData/GetControlDevices")
    Observable<BaseResponse<List<ControlDevices>>> getControlDevices(@Query("id") int id);

    //获取控制记录
    @GET("/api/AppData/GetControlLog2")
    Observable<BaseResponse<List<ControlLog>>> getControlLog2(
            @Query("id") int id , @Query("pageIndex") int pageIndex ,
            @Query("pageSize") int pageSize , @Query("begin") String begin , @Query("end") String end);
}
